Pricing deals for a user based on social information

ABSTRACT

Social networking systems determine price of a deal for a user based on social information associated with the user. For example, multiple users connected via the social networking system may participate in a deal. The price of a deal for a particular user may be determined based on the actions of that user to promote the deal and/or the deal&#39;s provider. A user may promote the deal or its provider, for example, by sending explicit messages describing the deal to the user&#39;s connections or by posting to a newsfeed that is sent by the social networking system on behalf of the user to the user&#39;s connections. Factors considered in determining a price of a deal may include information describing the connections of the user, the actions associated with the deal performed by the user, the connections of the user participating in the deal, and the locations of the user&#39;s connections.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 61/452,577 filed Mar. 14, 2011, which is incorporated byreference in its entirety.

BACKGROUND

This invention relates to deals in social networking systems and inparticular to determining price of a deal in a social networking system.

Providers of services and/or products offer deals to potential orcurrent customers to entice them to make purchases. A deal is an offerto sell a product or service to a customer, oftentimes including aparticular benefit available to customers who buy the product or servicethrough the deal. For example, a deal may offer a product or service ata discounted price, such as a fixed percent of the original price or afixed amount below the original price. A deal may offer a discount on afuture purchase of a product/service upon a purchase of a similar or adifferent product/service. A deal may also offer access to inventory notopen to the general population. For example, a deal may provide discounton a second product upon purchase of a first product. Deals are oftenoffered by providers who are different from the actual seller of theproduct or service. The deal provider manages the deal purchasetransaction and gives a voucher for the transaction to the customer, whocan then redeem the voucher for the purchased product or service.

Providers offer deals for various reasons. Sometimes providers offerdeals on products that they are trying to dispose of quickly to makeroom for a new line of products. Sometimes providers offer deals sincethey realize that users are interested in making a purchase only ifthere is a deal available. Users often closely monitor deals. Thereforedeals draw attention of users to particular products and bring theproduct in their radar.

Providers are always coming up with creative ways to offer deals to getuser's attention. However, if a user is not interested in a deal for aproduct or service, the efforts of the provider in directing these dealsto the user get wasted. Therefore, providers prefer to direct theirdeals to users who are most likely to be interested in the deals offeredin order to maximize sales of their products/services. Providers havenot leveraged the power of social networking to make deals moreeffective to achieve their goals.

SUMMARY

A social networking system determines price of a deal for a user basedon social information associated with the user. For example, multipleusers connected via the social networking system may participate in adeal. Other users with whom the user is connected in the socialnetworking system are called the connections of the user. The socialnetworking system determines the price of a deal for a particular userbased on information describing the connections of the user. The socialnetworking system sends the price of the deal to the user.

The information describing the connections may include actions of theconnections associated with the deal, the number of connectionsparticipating in the deal, locations of the user's connections, and thelike. Examples of actions of users considered for determining the priceof the deal include purchasing the deal, checking in to a locationassociated with a provider of the deal, recommending the deal, andinitiating a proposal for the deal. The social networking system maydetermine the price of a deal based on prices of previous dealsassociated with the connections of the user or previous deals associatedwith the user.

In an embodiment, the social networking system determines a score foreach of the connections of the user and determines the price of the dealbased on an aggregate score of each connection. The social networkingsystem may determine the price of the deal based on whether a connectionof the user is an existing customer of the provider or a new customerintroduced to the provider as a result of the user's participation inthe deal.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a system environment for allowing users of asocial networking system to interact with deals from providers, inaccordance with an embodiment of the invention.

FIG. 2 is a diagram of the system architecture of a social networkingsystem for allowing users of a social networking system to performinteractions with deals, in accordance with an embodiment of theinvention.

FIG. 3 is a user interface for allowing a user of a social networkingsystem to interact with deals of interest to the user, in accordancewith an embodiment of the invention.

FIG. 4 is a user interface for presenting social information associatedwith deals of interest to the user of a social networking system, inaccordance with one embodiment of the invention.

FIG. 5 shows a screenshot of a user interface displaying connections ofa user of the social networking system that are likely to be interestedin a deal, in accordance with one embodiment of the invention.

FIG. 6 is a screenshot of a social deal presented to a user of thesocial networking system, in accordance with one embodiment of theinvention.

FIG. 7 is a flowchart of a process for determining price of a deal for auser of the social networking system, in accordance with one embodimentof the invention.

The figures depict various embodiments of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION

Embodiments use social networking systems to incorporate socialinformation of users to improve user interactions with deals.Incorporation of social information provides better experience for theusers interacting with the deals which in turn results in more usersgetting interested in deals. This furthers the goals of the providerssince the providers are attempting to increase the number of potentialcustomers by offering deals. Besides, deals provide a social experienceto the users and a valuable interaction with the social networkingsystem. Users that find the social networking system valuable are morelikely to be loyal to the social networking system. Increased loyalty ofthe users to the social networking system is likely to attract moreproviders offering advertisements and deals via the social networkingsystem. Since social networking systems derive revenue fromadvertisements, this provides increased revenues for the socialnetworking systems.

Embodiments allow multiple users to participate in a social deal andutilize social information to determine the price of the deal forindividual participants. The price of the social deal provided to eachparticipant depends on various factors including actions of theparticipants associated with the social deal as well as socialinformation associated with the participants. The actions of aparticipant may be used to measure the efforts taken by the participanttowards promoting the social deal, for example, by convincing the user'sfriends to participate in the social deal. The provider would like toreward a participant of a social deal for the participant's efforts inpromoting the social deal to other users.

The provider would also like to reward participants of the social dealthat have high potential of promoting the provider to other users of thesocial networking system. A user of the social networking system with alarge number of connections has a higher potential of promoting theprovider since information describing the actions of the user arepropagated to connections of the user by the social networking system.The social networking system propagates information regardingparticipation of users in a social deal to their connections viacommunication channels including newsfeed and notifications. Since theconnections that learn about the social deals get an opportunity to seehow their friends used and benefited from the social deal, they are morelikely to be interested in the social deal. As a result, theseconnections are themselves likely to participate in the social deals.This causes the information regarding the social deals and the providersof the deals to spread in a viral fashion. Information that spreadsvirally is likely to propagate faster than information propagated viaconventional advertisements on websites.

Information Describing a Deal

Providers often present a deal to the users along with theiradvertisements. A deal is associated with an offer made to a user thatprovides certain benefits to the user upon acceptance. The benefitoffered by a deal corresponds to a value of the deal or a price of thedeal. For example, a deal that offers higher benefits provides highervalue compared to a deal that offers lower benefits. In an embodiment, auser can purchase a deal by paying a price for the deal. The user cansubsequently redeem the deal by making a purchase or a transaction. Theprice of a deal can be estimated based on the benefits offered by thedeal. Typically, the benefits offered by a deal are associated with atransaction, for example, a purchase of a product or service offered bythe provider. A transaction between a customer and a provider involvesan exchange between a user and a provider, wherein the customer providesmoney to the provider and the provider provides one or more productsand/or services to the customer. However a transaction involving a dealprovides additional benefits to the user.

Benefits offered by a deal can include a reduction in the price of theproduct and/or service. For example, the deal may offer reduction inprice of an item by a fixed percent (e.g., 10% reduction in price) or areduction in price of the item by a fixed amount (price reduced by tendollars). Alternatively, the benefits provided by a deal may includeother financial advantages including free shipping, a coupon for asubsequent purchase, a reduction in price of a different item bought inthe same transaction, no sales tax, and the like. A deal may havemultiple participants. In an embodiment, the benefits provided to eachparticipant may depend on the social information associated with theparticipant. The social information used to determine the value of thedeal for a participant may include actions performed by the participantassociated with the deal as well as connections of the participant inthe social networking system.

A deal may be associated with certain conditions. For example, the dealmay be offered to a user if the number of purchases made by the userexceed a threshold value or the total value of the purchases exceedscertain amount. When the required conditions associated with a deal aresatisfied, the deal is considered activated. The activation of a dealmay require an explicit status change by the provider of the deal.Alternatively, the activation may be automatic upon satisfaction of therequired conditions and the user gets the benefits of the deal when theuser completes an applicable transaction. The user may be required tocomplete a transaction associated with the purchase to redeem anactivated deal.

The price of a deal may be associated with a demographic locationassociated with the provider. For example, one location of a providermay offer a particular price of the deal but other locations may offer adifferent price. The deal may also be associated with a location of theuser participating in the deal. The location of the user may correspondto a geographical location specified by the user as part of thedemographic information specified in the user profile.

Activating a deal comprises marking the deal as ready for use by a user.For example, a deal that is activated can be presented to the user as acoupon that can be redeemed by the user. An activation of a deal mayrequire certain actions to be performed by multiple users. For example,the activation of a deal may require multiple users to be present at alocation associated with the provider. If more than a threshold numberof user's connections check-in to a location along with the user, thedeal is activated. The value of the deal may be determined based on thenumber of connections of the user determined to be present at thelocation. Each user who participates in the activation of the deal iscalled a participant of the deal. The deal may offer benefits to oneuser or to all the participants of the deal. For example, a restaurantdeal activated by a number of friends present at the location may offera price reduction upon payment by a single user or it may offer pricereduction to each participant making a separate payment. In anembodiment, activation of the deal comprises redemption of the deal. Forexample, if more than a threshold number of connections of a userpurchase tickets for an event (for example, a concert) via the socialnetworking system, a social deal provides the tickets at a discountedprice. In this case, the activation of the deal happens when the deal isredeemed.

A reference to a deal in this disclosure may refer to an instance ofdeal associated with a particular user or a type of a deal offered by aprovider. The context of the disclosure clarifies whether a deal refersto an instance of a deal or deals of a particular type. For example, adeal may refer to an offer by a particular provider that gives 20%discount on a product if purchased before a given date. A deal may alsorefer to an instance of a social deal that is specific to a user andrequires participation by connections of the user. There may be multipleinstances of the deal created for different user. Each instance of thedeal stores information specific to the deal, for example, usersparticipating in that instance.

Deals System Environment

FIG. 1 is a diagram of a system environment for allowing users of asocial networking system to interact with deals using the socialnetworking system, in accordance with an embodiment of the invention.The users 135 interact with the social networking system 100 usingclient devices 105. The provider systems 120 (also referred to as“provider” herein) interact with the social networking system 100 toprovide information describing the deals. Some embodiments of thesystems 100, 120, and 130 have different and/or other modules than theones described herein, and the functions can be distributed among themodules in a different manner than described here.

FIG. 1 and the other figures use like reference numerals to identifylike elements. A letter after a reference numeral, such as “130A,”indicates that the text refers specifically to the element having thatparticular reference numeral. A reference numeral in the text without afollowing letter, such as “130,” refers to any or all of the elements inthe figures bearing that reference numeral (e.g. “130” in the textrefers to reference numerals “130A” and/or “130B” in the figures).

A provider system 120 comprises a provider application programminginterface (API) module 125 that allows the social networking system 100to interact with the provider system. In an embodiment, the providerAPIs 125 may be implemented as a web service. The provider APIs 125allow the social networking system 100 to send requests for informationto the provider system 120 and receive information associated with thedeals from the provider system 120. For example, the social networkingsystem 100 may send a request to the provider system 120 to determinewhether a user of the social networking system 100 is an existingcustomer of the provider system 120.

In an embodiment, the client device 105 used by a user 135 forinteracting with the social networking system 100 can be a personalcomputer (PC), a desktop computer, a laptop computer, a notebook, atablet PC executing an operating system, for example, a MicrosoftWindows-compatible operating system (OS), Apple OS X, and/or a Linuxdistribution. In another embodiment, the client device 105 can be anydevice having computer functionality, such as a personal digitalassistant (PDA), mobile telephone, smartphone, etc.

The client device 105 executes a user interface called dashboard 130 toallow the user 135 to interact with the social networking system 100.The dashboard 130 allows the user 135 to perform various actions relatedto deals. These actions include retrieving information describing dealsthat are likely to be of interest to the user, recommending deals toconnections of the user, participating in a social deal, checking in toa location associated with a deal provider, and making a purchase usingthe deal. In an embodiment, the dashboard 130 is presented to the uservia a browser application that allows a user to retrieve and presentinformation from the internet or from a private network.

The social networking system 100 offers its users the ability tocommunicate and interact with other users of the social networkingsystem 100. Users join the social networking system 100 and then addconnections to a number of other users of the social networking system100 to whom they desire to be connected. As used herein, the term“friend” refers to any other user to whom a user has formed aconnection, association, or relationship via the social networkingsystem 100.

The social networking system 100 maintains different types of objectsrepresenting entities, for example, user profile objects 175, connectionobjects 195, event objects 190, deal objects 180, and provider objects185. An object may be stored for each instance of the associated entity.A user profile object 175 stores information describing a user of thesocial networking system 100. A connection object 195 stores informationdescribing relations between two users of the social networking systemor in general any two entities represented in the social networkingsystem 100. The event objects 190 store representations of real-worldevents in the social networking system 100. The deal objects 180represent deals and the provider objects represent providers in thesocial networking system 100. These objects are further described indetail herein.

The social networking system 100 comprises an external system interface110, a dashboard manager 115 and various modules described in FIG. 2.The dashboard manager 115 allows users of the social networking system100 to interact with the deals via the dashboard 130 user interface. Thedashboard manager 115 presents information describing deals of interestto a user. For example, the dashboard manager may present differenttypes of deals to two users that have different interests.

The dashboard manager 115 allows a user 135 to perform various actionsassociated with the deal. These actions include purchasing the deal,recommending the deal to a connection, commenting on the deal, followingthe deal, liking the deal, participating in a social deal, uploading animage associated with the deal, for example, uploading an image taken ata location associated with the deal for display as part of the user'sprofile. A user may purchase a deal by completing a transaction thattakes advantage of the deal. For example, if the deal offers a 20%discount on purchase of a product, the user purchases the deal bypurchasing the product and redeeming the deal for the purchase.

The dashboard manager 115 receives requests from the user 135 forperforming actions related to deals. A user 135 sends requests to thedashboard manager 115 via the dashboard 130. The dashboard manager 115may invoke other modules of the social networking system 100 shown inFIG. 2 to perform a requested action.

The external systems interface 110 of the social networking system 100allows various modules of the social networking system 100 to interactwith external systems including the provider systems 120. For example, amodule of the social networking system 100 may update the providersystem 120 with information describing a transaction made by a user 135.The external system interface 110 invokes the provider APIs 125 forinteracting with the provider systems 120. The external systemsinterface 110 also allows external systems to interact with the socialnetworking system 100, for example, to access the social networkinformation or to update information present in the social networkingsystem 100. The external system interface 110 provides APIs that allowexternal systems to interact with the social networking system 100. Forexample, a provider system 120 may send information describing new dealsfrom the provider by invoking appropriate APIs supported by the externalsystems interface 110. The social networking system 100 may comprisemodules other than those shown in FIG. 1, for example, modulesillustrated in FIG. 2 that are further described herein.

Social Networking System Architecture

FIG. 2 is a diagram of system architecture of a social networking system100 for allowing users to interact with deals, in accordance with anembodiment of the invention. The social networking system 100 includes anewsfeed generator 235, a dashboard manager 115, an external systeminterface 110, an action logger 240, an action log 245, a social dealmanager 250, a deal pricing module 255, a user profile store 280, aconnection store 230, a deal store 225, an event store 215, and aprovider store 275. In other embodiments, the social networking system100 may include additional, fewer, or different modules for variousapplications. Conventional components such as network interfaces,security mechanisms, load balancers, failover servers, management andnetwork operations consoles, and the like are not shown so as to notobscure the details of the system.

The social networking system 100 stores user profile objects 175 in theuser profile store 280. The information stored in user profile store 280describes the users of the social networking system 100, includingbiographic, demographic, and other types of descriptive information,such as work experience, educational history, gender, sexualpreferences, hobbies or preferences, location, and the like. The userprofile store 280 may also store information provided by the user, forexample, images, videos, comments, and status updates. Images of usersmay be tagged with the identification information of the appropriateusers displayed in an image.

The connection store 230 stores data describing the connections betweendifferent users of the social networking system 100, for example, asrepresented in a connection object 195. In some embodiment, theconnection specifies a connection type based on the type ofrelationship, for example, family, or friend, or colleague. Users mayselect from predefined types of connections, or define their ownconnection types as needed.

The deal store 225 stores information describing deals, for example,deals represented as deal objects 180. The deal object 180 is associatedwith metadata describing the deal and comprises data specific to aninstance of the deal. An instance of a deal may be created for each userthat performs certain actions associated with the deal. For example, ifthe activation of a deal requires participation by connections of auser, the deal object 180 stores information describing the participantsin the deal. As other connections of the user perform actions thatcontribute towards activation of the deal, the social networking system100 updates the information stored in the deal object 180.

The information stored in a deal object 180 comprises a description ofthe deal, one or more deadlines associated with the deal, for example, astart date and end date during which the deal can be used, a locationassociated with the deal, a type of the deal, a redemption method forthe deal, maximum redemption associated with the deal, a description ofthe benefit offered by the deal, for example, a percent reduction inprice, any conditions or rules associated with the deal, a profile pageassociated with the deal on the social networking system 100, and otherinformation. The deal object also stores information identifying thedeal provider 120, a user associated with the deal, and connections ofthe user associated with the deal, for example, if the deal activationrequires participation by connections of the user. The deal object 180may store information describing a source of the deal, for example,whether the deal was imported from an external system, or the deal wasadded to the social networking system 100 by the deal provider 120, orif the deal was initiated by a user of the social networking system 100.

A deal object may be associated with different types of socialinformation including users of the social networking system 100, eventsrepresented in the social networking system 100, actions performed byusers that are associated with the deal, and the like. This informationmay be stored in various data stores in the social networking system100. Associations between the deal objects 180 and the relevant socialinformation associated with the deal may be either stored explicitly inthe social networking system 100 or determined as needed. The dealobject 180 may be associated with actions of users associated with thedeal, for example, users that liked the deal or are following the deal,users who subscribed to the deal, users who purchased the deal, userswho shared or gifted the deal, users who checked-in to locationsassociated with the deal, comments made by users on the deal etc.

A deal store 225 also stores a category associated with each deal thatdescribes the type of product or services associated with the deal.Examples of categories of deals include “dining,” “shopping,”“professional services,” “beauty and spas,” “health and fitness,”“automotive,” “pet care,” “financial services,” “travel,” and “arts andentertainment.”

The event store 215 stores information describing events associated withthe social networking system 100. An event object 190 may be defined fora real-world event, such as a birthday party. A user interested inattending the event may establish a connection with the event object. Auser may create the event object 190 by defining information about theevent such as the time and place and a list of invitees.

The provider store 275 stores the provider objects 185 that storeinformation describing the providers 120. The information describing aprovider 120 includes categories associated with products/servicesoffered by the provider, locations associated with the provider, andinformation needed for interacting with the provider APIs 125. Thesocial networking system 100 stores associations between the providerobjects 185 and the deals provided by the provider 120.

The action logger 240 is capable of receiving communications about useractions on and/or off the social networking system 100. The actionlogger 240 populates the action log 245 with information about useractions to track them. Any action that a particular user takes withrespect to another user is associated with each user's profile, throughinformation maintained in a database or other data repository, such asthe action log 245. Such actions may include, for example, adding aconnection to the other user, sending a message to the other user,reading a message from the other user, viewing content associated withthe other user, attending an event posted by another user, among others.

The social deal manager 250 maintains information describing socialdeals and actions associated with social deals. The social deal manager250 maintains metadata associated with the deal, including the type ofactions required to activate the social deal, whether the actions haveto be performed by the user or by the connections of the user, and thenumber of actions of each type required to activate the deal. Examplesof types of actions that can activate a social deal include checking into a location, making a purchase, sending a recommendation of the dealto a connection, registering with the provider, and the like. The socialdeal manager 250 monitors the actions performed by the connections ofthe user and the actions performed by the user to determine if an actionassociated with the social deal is performed. The social deal manager250 manages the state of a social deal, for example, the number ofactions of different types that have been performed so far towardsactivation of the deal and the number and types of actions remaining foractivation of the deal.

The deal pricing module 255 determines the price of a deal for a givenuser. The deal pricing module 255 analyzes the historical actions of theuser and the user's connections. The historical actions of the user andthe user's connections can be obtained from the action log 245. The dealpricing module 255 identifies the actions of the user and the user'sconnection that are associated with the deal to determine the dealprice. The deal pricing module 255 accesses the connection store 230 todetermine the connections of the user and the user profile store 280 toaccess information describing the user and the connections of the user.

The deal pricing module 255 considers social information associated witha user in determining the price of a deal for the user. The socialinformation considered for determining the price of a deal includes thenumber of connections of the user currently participating in the deal,the past actions associated with the deal performed by the connectionsof the user, the rate at which connections have previously participatedin deals from the current provider, the rate at which connections of theuser have participated in deals belonging to the category of the currentdeal and the like.

The social networking system 100 may store the information describingparticipation of a user in deals offered by various providers in theuser profile store 280. Alternatively, a provider may be represented asan entity and an association between the user and the provider stored,for example, in the connection store 230 if the user is a currentcustomer of the provider. The information stored in the socialnetworking system 100 can be analyzed to determine whether the user isan existing customer of the provider or a new customer.

The social networking system 100 can also use the external systeminterface 110 to send a request for information regarding a user to theprovider system 120, for example, a request to enquire whether the useris a customer of the provider. Enterprises typically store customerinformation in databases of their enterprise systems and can provideaccess to the information to authenticated system via applicationprogramming interfaces (APIs). An advantage of obtaining the customerinformation from the provider's system is that the information is likelyto be latest information. However, there can be a performance overheadassociated with accessing the provider's external system caused by thesoftware layers of the provider's APIs, network delays, authentication,etc. In an embodiment, the social networking system stores some of theinformation obtained from the provider's external system in a localcache for performance improvement.

In some embodiments, the system 100 is not a social networking systembut a system that communicates with a social networking system to obtainthe necessary social network information. The system 100 may communicatewith the social networking system, for example, using APIs provided bythe social networking system. In these embodiments, some modules shownin FIG. 2 may run in the system 100, whereas other modules may run inthe remote social networking system. For example, the modules includingthe deal pricing module 255 may run in the system 100 but modules dealstore 225, user profile store 280, connection store 230, and action log245 may exist in a separate social networking system.

The interactions between the client devices 105 and the socialnetworking system 100 as well as the interactions between the provider120 and the social networking system 100 are typically performed via anetwork 210, for example, via the internet. The network 250 enablescommunications between the client device 105 and the social networkingsystem 100. In one embodiment, the network 210 uses standardcommunications technologies and/or protocols. In another embodiment, theentities can use custom and/or dedicated data communicationstechnologies instead of, or in addition to, the ones described above.Depending upon the embodiment, the network 210 can also include links toother networks such as the Internet.

Deals Dashboard

The dashboard 130 provides a user interface for allowing a user of asocial networking system to view and interact with deals. FIG. 3 showsscreenshots of the dashboard, in accordance with an embodiment of theinvention. The dashboard 130 can be a part of a user interface thatallows various types of user interactions with a social networkingsystem 100. A user viewing the user's information 300 on a socialnetworking system 100 (for example, from the user's home page) canrequest different type of information from the social networking system100 by pressing buttons or links 350. The different types of informationrequested by the user include newsfeed stories of interest to the user,messages received by the user via the social networking system 100,connections of the user, events associated with the user, and the like.The user can also request information describing deals associated withthe user clicking on button 320.

A user can select a particular deal 310 presented to the user andrequest more information describing the deal. FIG. 4 show screenshots ofa user interface presenting social information associated with aparticular deal selected by the user. FIG. 4 shows detailed informationdescribing the deal, for example, the location 420 of the deal, the dealprice 440, and images 450 describing the product/services associatedwith the deal. The user interface presented in FIG. 4 allows useractions 410 associated with the deal including purchasing the deal,recommending the deal to a connection, commenting on the deal, likingthe deal, participating in a social deal, uploading an image associatedwith the deal and the like. The dashboard 130 may also present differenttypes of social information associated with the deal, for example,connections 430 of the user that performed an action associated with thedeal, events associated with the deal, social groups associated with thedeal, images associated with the deal and the like.

The social networking system 100 may request the user to perform certainactions associated with the deal. For example, the social networkingsystem 100 may request the user to suggest the deal to the user'sconnections. FIG. 5 show screenshots of a user interface displayingconnections of a user of the social networking system 100 that arelikely to be interested in a deal, in accordance with one embodiment ofthe invention. Typically, a user is presented with a request forsuggesting the deal to the user's connections when the user purchasesthe deal. For example, the screens shown in FIG. 5 may be presented aspart of the user interaction with the social networking system 100 formaking the purchase. The user interface in FIG. 5 allows a user to add540 connections to a list for suggesting the deal. The user can delete530 connections previously added to the list. Once the requiredconnections are added to the list, the user can send 550 the informationdescribing the deal to the connections.

The user interface presented in FIG. 5 can be used to allow a user toadd/delete participants in a social deal. For example, the socialnetworking system 100 can present a list of potential participants in asocial deal to the user. The user can select the participants and sendthe information to the social networking system 100. If the user selectsmore than a threshold number of participants, the social networkingsystem 100 can activate the social deal. Alternatively, the socialnetworking system 100 can send a message to the selected participants toconfirm their participation in the deal. The social networking system100 can activate the deal if more than a threshold number ofparticipants confirm that they intend to participate in the deal.

Activation of Social Deals

As used herein, a social deal is a deal associated with a user that isactivated by actions associated with connections of a user in the socialnetworking system 100. The social deal can be activated by actions thatare performed by the connections. The social deal can be activated byactions performed by the user. The actions performed by the user areassociated with the user's connections as well as associated with thedeal. For example, a social deal may be activated when more than athreshold number of connections of the user check-in to a locationassociated with the deal. As another example, a social deal may beactivated if the user recommends the deal to more than a thresholdnumber of connections of the user.

The social networking system 100 provides information describing theactions of the user to connections of the user via notification,newsfeed or other communication channels. Since the information receivedby the connections describes actions of their friends in the socialnetworking system, the connections are likely to pay attention to theinformation. This promotes advertisement of the deal as well as theadvertisement of the provider of the deal in a viral fashion.

In an embodiment, the newsfeed generator 235 uses the informationdescribing the participants of the social deal to determine the rankingof a story describing the deal in the newsfeed received by a user. In anembodiment, the ranking depends on various factors including, the numberof participants in the social deal that are connected to the recipient,a degree of match between the interests of the recipient and the deal,and a measure of affinity between the recipient and the participants ofthe deal, for example, affinity based on a frequency of communicationbetween the users, how recently the users communicated with each otheretc.

The social deal may require more than a threshold number of actionsassociated with the connections of the user in order to activate thedeal. The social deal may provide the benefit associated with the dealto the user who initiates the social deal. The social deal may providethe benefit of the social deal to all the participants. The level ofbenefit provided by the social deal to a connection may depend on thetype of action associated with the connection that is used towardsactivating the deal.

In an embodiment, a social deal may be activated by multiple types ofactions. The social deal may specify various types of actions and thenumbers of each type of actions that need to be performed by theconnections of the user or the user for activation of the deal. Forexample, the social deal may require four connections of the user tocheck in to a location of the provider and one connection to make apurchase in order to activate the deal.

In an embodiment, each action that counts towards activation of a socialdeal is assigned a score value. The social deal is activated when aweighted aggregate of the scores based on actions associated with thedeal exceeds a threshold value. The weight associated with an action maydepend on the type of action. For example, purchasing the deal may weighmore commenting on the deal. Similarly, recommending the deal to a usermay weight more than commenting on the deal. The weight associated withan action performed by a connection of the user may depend on socialinformation associated with the connection. A connection that has ahigher potential for promoting the deal and/or the provider via thesocial networking system 100 is weighted higher than a connection withsmaller potential. A user with a large number of connections has higherpotential of promoting the products/services of the provider compared toa user with very few connections. Similarly, a user who interactsfrequently with the user's connections in the social networking systemhas a higher potential of promoting the products/services of theprovider compared to a user who rarely uses the social networking system100.

Deal Pricing

In an embodiment, the price of a deal is determined by consideringvarious factors associated with a user and/or the user's connections inthe social networking system 100. Examples of factors considered fordetermining a price of a deal include, historical data describing theactions of the user in the social networking system, informationdescribing the connections of the user in the social networking system100, information describing the connections of the user that areassociated with the deal, the actions of the user's connection, etc. Forexample, if a user participates in a deal with few of the user'sfriends, the user gets a better deal price compared to the userpurchasing the deal alone. The price of the deal for the user mayimprove as the number of connections of the user participating in thedeal increases. For example, if two of the connections of the user areparticipants of a social deal, the user may get a 10% discount, but iffive connections of the user are participants of the social deal, theuser may get a 20% discount.

Determining the price of deal specific to each user allows the providerto reward a user based on factors specific to the user. Some users maycontribute towards promotion of the provider or may have the potentialto contribute towards promotion of a provider. A user who hassignificantly contributed towards promotion of the provider may beoffered better deal prices compared to a user with little contributiontowards promotion of the provider. Similarly a user with higherpotential to promote the provider is offered better deal price comparedto a user with lesser potential to promote the provider.

A user promotes a provider by the user's actions in social networkingsystem associated with the products/services offered by the provider.Users may be more interested in a deal if they learn about a friendpurchasing the deal rather than by watching an advertisement from theprovider. A user may explicitly promote the products/services bysuggesting a deal to the user's connections. Alternatively a user mayimplicitly promote a deal when the social networking system 100 informsother users about the purchase of the deal by the user. For example,when a user purchases a deal, the newsfeed generator 235 may provideinformation describing the user's action as newsfeed to connections ofthe user. Connections of the user learn about the user's participationin the deal and are likely to be interested in the deal.

A user may have a potential of promoting the deal or the provider eventhough the user does not perform explicit actions promoting the deal orthe provider. For example, a user with a large number of connections hasa higher potential of promoting the deal or the provider via the socialnetworking system 100 compared to a user with very few connections.Another criterion for determining the potential of the user forpromoting the deal or the provider is the number of connections of theuser who previously participated in deals from the provider of thecurrent deal. A user with a large number of connections who previouslyparticipated in deals from the same provider or deals belonging to thesame category as the current deal has a higher potential of promotingthe deal or the provider. A user with a large number of connections withinterests that match the products/services offered by the provider maybe determined as having high potential of promoting the deal or theprovider. In this situation, the connections of the user may not becurrent customers of the provider but potential customers of theprovider. As an example, a user may have several connections that areinterested in movies but have never visited a particular movie theatre.The user may be determined as having high potential to promote dealsfrom that particular movie theatre since the connections of the user mayget interested in the movie theatre in future.

The value of deals provided to a user can change over time depending onchanges in the user's behavior determined from the actions of the userand the user's connections in the social networking system 100. A userthat joined the social networking system 100 recently may not have alarge number of connections. The social networking system 100 may notoffer very good prices on deals to a user with very few connections. Butover time the user may acquire a large number of friends in the socialnetworking system 100 and may receive better and better deals fromproviders.

The deal pricing module 255 can determine the value of a deal offered toa user based on the value of past deals purchased by the user or by theuser's connections. For example, if a user has consistently purchased orparticipated in deals offering 10% discount, deal pricing module 255 maycontinue to provide deals offering 10% discount to the user. On theother hand, if a user previously rejected deals offering 10% or smallerdiscounts but utilized deals offering 20% discount, the socialnetworking system may present the user with deals offering 20% discountrather than deals offering 10% discount.

FIG. 7 describes a process for determining the price of a deal for auser of the social networking system in accordance with an embodiment.The deal pricing module 255 identifies 710 a social deal associated witha user of a social networking system for determining the price of thedeal. The deal pricing module 255 identifies 720 connections of the userthat are participating in the social deal. The deal pricing module 255determines 730 the actions of the user and the user's connections thatare associated with the deal. The deal pricing module 255 may alsodetermine actions that are associated with other deals offered by theprovider as well as other deals belonging to the same category as thecurrent deal being analyzed.

Different types of actions may be associated with different score valuesused for determining the deal price. The deal pricing module 255determines 740 the price of the deal for the user based on aggregatescores associated with the actions of the user and the user'sconnections. The deal pricing module 255 presents 750 the price of thedeal to the user.

In an embodiment, the deal pricing module 255 determines a promotionscore associated with each user. The promotion score is indicative ofthe past contribution of the user in promoting the deal and the providerof the deal as well as the potential of future contribution towardspromotion of the deal and the provider. The promotion score of a usermay be determined based on the promotion score of the connections of theuser. The promotion score of each connection in turn may depend on thepromotion score of the connections of the connection. This computationmay be performed iteratively by using the promotion score values from aprevious iteration for recomputing the promotion score values for eachuser. If other factors affecting the promotion score are assumed toremain constant, each iteration improves the accuracy of the promotionscore for each user over the previous iteration. The iterations can bestopped if an aggregate measure of changes in the promotion scores for aset of users in subsequent iterations are determined to be below athreshold value. In this situation, the promotion scores of the userbelonging to the set are assumed to have converged to their respectivevalues. However if the inputs associated with the user used to determinethe promotion score keep changing, the promotion score is recomputed toincorporate the input changes.

The deal pricing module 255 may determine an action score value based onan action associated with the deal performed by a user or the user'sconnections. The action score values associated with a user and a dealmay be used to determine the price of a deal for the user. If a type ofaction is determined to promote the deal and/or the deal provider, auser associated with a larger number of actions of this type is providedwith a better deal price than a user associated with fewer actions.Furthermore, a user with a large number of connections performingactions of the given type may also be provided a better deal price.

The action score value for an action may depend on the type of theaction. The different types of actions considered by the deal pricingmodule 255 for a user include, participating in a deal, purchasing thedeal, initiating a deal proposal, suggesting the deal to a connection ofthe user (or any other user), checking in to a location associated withthe deal, retrieving information associated with the deal. For example,the score assigned to purchasing a deal can be higher than the scoreassigned to suggesting the deal to a friend. The score assigned toinitiating a deal proposal can be higher than the score assigned toparticipating in a deal. The actions performed by the user or the user'sconnections may be actions associated with the current deal beinganalyzed, or actions associated with other deals from the same provider,or actions associated with deals belonging to the same category as thecurrent deal even if the deals are offered by other providers. The scoreassigned to actions associated with the current deal may be higher thanthe score assigned to actions associated with other similar deals.

The deal pricing module 255 may use a frequency of actions associatedwith a deal performed by the user or the total number of actionsassociated with the deal performed by the user. The deal pricing module255 may use only recent history of actions associated with each user todetermine the deal price. For example, actions that are older than athreshold time period may not be considered in determining the price ofa deal. Alternatively, the deal pricing module 255 may assign weight tothe actions based on an age associated with each action indicating howlong ago the action was performed. Actions that are more recent areweighted higher than actions that are old.

In an embodiment, the deal pricing module 255 associates weights withvarious factors used for evaluating the deal price. The deal pricingmodule 255 may determine the price of a deal as a weighted aggregatevalue based on different factors. For example, the weight associatedwith a connection purchasing a deal is higher than the weight associatedwith a connection suggesting the deal to another user of the socialnetworking system. Actions performed by the user or the connections ofthe user associated with the current deal for which price is beingdetermined are weighted more than actions associated with other deals.Actions associated with deals for the same product/service as thecurrent deal are weighted higher than actions associated with deals forother products/services. Actions associated with deals provided by theprovider of the current deal may be weighted higher than actionsassociated with other providers. Actions that are more recent areweighted higher than actions that are older. Action performed by directconnections of the user may be weighted higher than actions performed byconnections that are indirectly connected via one or more users (e.g.,friends of friends etc.).

In an embodiment, the weight associated with an action depends onwhether the action results in a new customer being introduced to theprovider. A user can be considered a new customer for the provider ifthe user makes a purchase from the provider for the first time.Alternatively, the user can be considered a new customer if the userregisters with an online system of the provider by providing variousdetails, and possibly creating an account in an online system of theprovider. If a user and the user's connections participate in a dealoffered by a provider resulting in new customers being to be introducedto the provider the user gets a better deal price compared to a similarsituation in which no new customers are introduced to the provider.

In an embodiment, the deal price depends on a frequency at which theuser and the user's connections have previously participated in dealsoffered by the provider. For example, if the user and the connections ofthe user participating in a deal are determined to be regular customersof the provider who make purchases on a regular basis, they may beoffered a better deal price compared to users that rarely make purchaseswith the provider. Offering better deals to loyal customers allows theprovider to reward the customers for their loyalty. In a social deal,each participant of the deal may be provided a deal price depending onthe participant's loyalty among other factors.

In an embodiment, if a user and the user's connections have frequentlyparticipated in deals from the same provider, the user is presented witha better deal compared to a user who rarely participates in deals fromthe provider. Similarly, if the user and the user's connections havefrequently participated in deals similar to a deal, e.g., dealsbelonging to the same category, the user and the user's connections maybe presented with better inventory and better value of deals in order toattract them as potential customers. For example, if a set of friends inthe social networking system 100 are determined to have a history ofgoing to restaurants together, a restaurant that they have never visitedmay present them with good deals in order to attract their business.

In an embodiment, the user is not required to purchase a social deal butif the connections of the user purchase the deal, the user gets creditsthat can be applied towards a future deal. The connections may be directconnections of the user or users that are indirectly connected to theuser via another user. The credit information associated with the usercan be stored in the social networking system 100.

In an embodiment, the price of a deal is determined based on demographicinformation associated with the user and the user's connections. Theuser profile store 280 stores demographic information describing theusers of the social networking system 100. For example, if theconnections of the user are determined to be within vicinity of alocation of the provider of the deal, there is a greater chance that theuser's connections will participate in deals offered by the provider.

In an embodiment, the value of the deal or the inventory made availableto a user in a deal depends on the current location of a user determinedvia a GPS on the user's device, radio frequency identification (RFID),or by explicit user input, for example, check-in location. Someproviders may offer real-time deals that are associated with a veryshort deadline and are offered for a short time, for example, a coupleof hours. These deals may be offered, for example, if a providerdetermines that the provider has excessive inventory in certainlocations of the provider. The social networking system 100 may selectusers that are currently located close to these locations. A user may bedetermined to be close to a target location if a location of the user iswithin a threshold distance of the target location. The socialnetworking system 100 sends deals offered by the provider to these usersto help the provider dispose of the excessive inventory. The socialnetworking system 100 can notify the selected users of these real-timedeals by various communication channels including, text messages,notifications, by posting on the user's home page, on a websiteassociated with the merchant, etc.

In an embodiment, the social networking system 100 tracks the number ofusers of the social networking system 100 that are near a locationassociated with a business. If the number of users that are available ata given location exceeds a threshold value, the social networking system100 sends this information to the provider and checks with the providerif the provider wants to offer a real-time deal. If the socialnetworking system 100 determines that more than a threshold number ofusers near the location of the business have connections with eachother, the social networking system 100 may provide a social deal to theusers. For example, if a set of friends is visiting a concert locatednear the restaurant, the social networking system 100 may determinetheir presence and send them a social deal associated with therestaurant. The social networking system 100 may check with the providerbefore sending the deal or the social networking system 100 may have apredetermined arrangement with the provider, allowing the socialnetworking system 100 to send the deal to the users.

In an embodiment, the social networking system 100 sends deals to a userbased on the time of the day. For example, the social networking system100 may provide better price on deals during off hours. The price of adeal may be determined on a first come first basis. A user making apurchase before another user may get a better price in the deal. Thispromotes a sense of urgency among users to utilize the deal. In anembodiment, the social networking system 100 provides deals with specialbenefits to users who purchase deals on a regular basis from theprovider, for example, frequent purchasers of the provider are presentedwith better inventory that is not made available to a typical user.

Alternative Applications

The features and advantages described in the specification are not allinclusive and, in particular, many additional features and advantageswill be apparent to one of ordinary skill in the art in view of thedrawings, specification, and claims. Moreover, it should be noted thatthe language used in the specification has been principally selected forreadability and instructional purposes, and may not have been selectedto delineate or circumscribe the inventive subject matter.

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of theinvention in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the invention may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a tangible computer readable storage medium or any typeof media suitable for storing electronic instructions, and coupled to acomputer system bus. Furthermore, any computing systems referred to inthe specification may include a single processor or may be architecturesemploying multiple processor designs for increased computing capability.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the invention be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the invention is intended to be illustrative, but not limiting, ofthe scope of the invention, which is set forth in the following claims.

1. A computer implemented method for determining a price of a deal, themethod comprising: receiving a request to determine a price of a dealfor a target user of a social networking system, the deal available to aplurality of users of the social networking system; identifying from theplurality of users a set of user connected to the target user in thesocial networking system; determining the price of the deal for thetarget user based on information about the identified set of usersconnected to the target user; and sending information indicating theprice of the deal to the target user.
 2. The computer implemented methodof claim 1, wherein the price of the deal is determined based on actionsassociated with the deal performed by users from the set of usersconnected to the target user.
 3. The computer implemented method ofclaim 2, wherein the actions include purchasing the deal, checking in toa location associated with a provider of the deal, recommending thedeal, and initiating a proposal for the deal.
 4. The computerimplemented method of claim 1, wherein the price of the deal isdetermined based on the number of users from the set of users connectedto the target user.
 5. The computer implemented method of claim 1,wherein determining the price of the deal comprises: determining whethera user from the set of users connected to the target user is an existingcustomer of a provider of the deal.
 6. The computer implemented methodof claim 1, wherein determining the price of the deal with respect tothe target user comprises: determining a score for each user from theset of users connected to the target user; and determining the price ofthe deal based on an aggregate of the score of each user from the set ofusers connected to the target user.
 7. The computer implemented methodof claim 1, wherein the price of the deal is determined based on actionsassociated with the deal performed by the target user.
 8. The computerimplemented method of claim 7, wherein the actions associated with thedeal performed by the target user include purchasing the deal, checkingin to a location associated with a provider of the deal, recommendingthe deal, and initiating a proposal for the deal.
 9. The computerimplemented method of claim 1, wherein the price of the deal isdetermined based on one or more prices of previous deals associated withthe set of users connected to the target user.
 10. The computerimplemented method of claim 1, wherein the factors considered fordetermining the price of the deal comprise prices of the past dealsassociated with the target user.
 11. A computer implemented method fordetermining a price of a deal associated with users of a socialnetworking system, the method comprising: receiving a request todetermine a price of a deal for a target user of a social networkingsystem; determining the price of the deal with respect to the targetuser based on information about a set of connections with whom thetarget user has established a connection in the social networkingsystem; and sending information indicating the price of the deal fordisplay to the target user.
 12. The computer implemented method of claim11, wherein each of the set of connections performed an actionassociated with deals belonging to a category associated with the deal.13. The computer implemented method of claim 11, wherein each of the setof connections performed an action associated with deals offered by aprovider of the deal.
 14. The computer implemented method of claim 11,wherein the information about the connections comprises the number ofconnections of each connection.
 15. The computer implemented method ofclaim 11, wherein the information about the connections comprisesinformation describing connections of each connection.
 16. The computerimplemented method of claim 11, wherein the price of the deal is basedon one or more interests of the connections.
 17. The computerimplemented method of claim 11, wherein the price of the deal is basedon a location associated with each connection belonging to the set ofconnections.
 18. The computer implemented method of claim 17, whereinthe location associated with each connection is determined based on atleast one of: demographic information provided by the user, a locationof a device associated with the connection, and a temporary locationprovided by the connection.
 19. The computer implemented method of claim11, wherein the price of the deal is based on a number of connections ofthe user determined to be present simultaneously within a thresholddistance of each other.
 20. The computer implemented method of claim 11,wherein the price of the deal is based on a rate at which eachconnection performed actions associated with the deal.
 21. The computerimplemented method of claim 11, wherein the price of the deal is basedon one or more actions performed by the connections, the actionsassociated with other deals matching the deal.
 22. The computerimplemented method of claim 21, wherein the actions associated with thematching deals include purchasing the deal, checking in to a locationassociated with a provider of the deal, recommending the deal, andinitiating a proposal for the deal.
 23. The computer implemented methodof claim 11, wherein the price of the deal is based on a time ofexecution of actions associated with the matching deals.
 24. Thecomputer implemented method of claim 11, wherein determining the priceof the deal with respect to the target user comprises: determining ascore for each connection in the set of connections; and determining theprice of the deal based on an aggregate of the score of each connectionin the set of connections.
 25. A computer program product having acomputer-readable storage medium storing computer-executable code fordetermining a price of a deal in a social networking system, the systemcomprising: a dashboard manager configured to: receive a request todetermine a price of a deal with respect to a target user of a socialnetworking system, the deal associated with a plurality of users of thesocial networking system; a deal price manager configured to: identifyfrom the plurality of users a set of user connected to the target userin the social networking system; determine the price of the deal for thetarget user based on information about the identified set of usersconnected to the target user; and the dashboard manager furtherconfigured to: send information indicating the price of the deal.